Generally, computers and other electronic devices are interconnected via physical cables or wires. These communication paths allow for the exchange of data or control information between such devices. However, it is increasingly recognized that certain advantages arise from the elimination of cables and wires to interconnect devices. Such advantages include ease of configuration and reconfiguration, due to the elimination of the need to physically add, remove, or displace a physical medium. Furthermore, space that would ordinarily be used for device interconnection media may be given to other uses. Significantly, device mobility is increased through the use of wireless connections.
One method for providing wireless connections between devices employs a light wave in the infrared region of the electromagnetic spectrum to link devices. The IrDA (Infrared Data Association) protocol defines one such connection mechanism. Unfortunately, such a mechanism must usually operate in a line of sight manner; any opaque obstruction between transmitter and receiver will prevent proper operation. Additionally, IR transmitters are typically not omnidirectional when incorporated into a communicating device, so that for proper operation, the transmitter must be aimed generally in the direction of the receiver, within some nominal deviation such as thirty degrees. Finally, IR transmitters are typically fairly low power devices, and accordingly the range of IR links is usually limited to approximately one meter.
Radio frequency linking solves many of the problems inherent in infrared linking. One protocol that defines communication between wireless devices through a radio frequency link is the Bluetooth specification. Bluetooth devices do not require a line of sight with one another to operate, and their range can be significantly greater than that of IR links. However, there are several obstacles to widespread implementation of the Bluetooth specification. Bluetooth compliant devices are generally presented to user-mode applications as serial interfaces via RFCOMM. In addition to the fact that the number of such interfaces is limited to 30 emulated RS-232 ports (the L2CAP layer is capable of supporting a much greater number of connections), there may be situations in which the serial presentation itself is not desirable or even acceptable. For example, an application developer may wish to develop an application that uses a customized or proprietary protocol to communicate with another device.
Application developers therefore need a mechanism that provides them with generic access to the transport layer of Bluetooth, i.e. the layer implementing L2CAP, without being required to interface with RFCOMM, and without being required to construct custom kernel-mode components for each application to provide such access.